EGEsoll - сборник решений задач из ЕГЭ

Задача 1 грузовик

Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 200 до 210 кг грузят в первую очередь, гарантируется, что все такие грузы поместятся. На оставшееся после этого место стараются взять как можно больше грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и так далее. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.

Первая строка входного файла содержит два целых числа: N — общее количество грузов и M — грузоподъёмность грузовика в кг. Каждая из следующих N строк содержит одно целое число — массу груза в кг.

В ответе запишите два целых числа: сначала максимально возможное количество грузов, затем их общую массу.

Download File 1

Добавлено: 17.04.26 21:08

Перейти к решению

Решение

Решение на Python:

f = open("embed.txt")
N, M = map(int, f.readline().split())

g = sorted([int(line) for line in f.readlines()])
packed = [a for a in g if a >= 200 and a <= 210]
ost = sorted([item for item in g if item not in packed])

M -= sum(packed)
N -= len(packed)

for el in ost:
    if M - el >= 0:
        M -= el
        N -= 1
print(1000 - N, 10000 - M) # 123 9963

Ответ: 123 9963

Автор - rubygem17

Объяснение

None

Назад